package com.ruoyi.system.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 库存操作日志对象 wms_inventory_log
 * 
 * @author ruoyi
 * @date 2025-06-18
 */
public class WmsInventoryLog extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 日志ID */
    private Long logId;

    /** 商品编号 */
    @Excel(name = "商品编号")
    private String productId;

    /** 仓库ID */
    @Excel(name = "仓库ID")
    private Long warehouseId;

    /** 操作类型 */
    @Excel(name = "操作类型")
    private String operationType;

    /** 操作前数量 */
    @Excel(name = "操作前数量")
    private Long beforeQuantity;

    /** 操作后数量 */
    @Excel(name = "操作后数量")
    private Long afterQuantity;

    /** 差异数量 */
    @Excel(name = "差异数量")
    private Long difference;

    /** 业务单号 */
    @Excel(name = "业务单号")
    private String businessId;

    /** 操作人 */
    @Excel(name = "操作人")
    private String operationBy;

    /** 操作时间 */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @Excel(name = "操作时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date operationTime;

    public void setLogId(Long logId) 
    {
        this.logId = logId;
    }

    public Long getLogId() 
    {
        return logId;
    }

    public void setProductId(String productId) 
    {
        this.productId = productId;
    }

    public String getProductId() 
    {
        return productId;
    }

    public void setWarehouseId(Long warehouseId) 
    {
        this.warehouseId = warehouseId;
    }

    public Long getWarehouseId() 
    {
        return warehouseId;
    }

    public void setOperationType(String operationType) 
    {
        this.operationType = operationType;
    }

    public String getOperationType() 
    {
        return operationType;
    }

    public void setBeforeQuantity(Long beforeQuantity) 
    {
        this.beforeQuantity = beforeQuantity;
    }

    public Long getBeforeQuantity() 
    {
        return beforeQuantity;
    }

    public void setAfterQuantity(Long afterQuantity) 
    {
        this.afterQuantity = afterQuantity;
    }

    public Long getAfterQuantity() 
    {
        return afterQuantity;
    }

    public void setDifference(Long difference) 
    {
        this.difference = difference;
    }

    public Long getDifference() 
    {
        return difference;
    }

    public void setBusinessId(String businessId) 
    {
        this.businessId = businessId;
    }

    public String getBusinessId() 
    {
        return businessId;
    }

    public void setOperationBy(String operationBy) 
    {
        this.operationBy = operationBy;
    }

    public String getOperationBy() 
    {
        return operationBy;
    }

    public void setOperationTime(Date operationTime) 
    {
        this.operationTime = operationTime;
    }

    public Date getOperationTime() 
    {
        return operationTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("logId", getLogId())
            .append("productId", getProductId())
            .append("warehouseId", getWarehouseId())
            .append("operationType", getOperationType())
            .append("beforeQuantity", getBeforeQuantity())
            .append("afterQuantity", getAfterQuantity())
            .append("difference", getDifference())
            .append("businessId", getBusinessId())
            .append("operationBy", getOperationBy())
            .append("operationTime", getOperationTime())
            .append("remark", getRemark())
            .toString();
    }
}
